import ast

from 程序核心代码.mvvm重构.基础定义.基础图形项.基础图形组件.节点基础图形项 import 带布局的节点基础图形项

from 程序核心代码.ast节点.节点定义.基础定义.ast节点基础定义 import ast节点基础模型
from 程序核心代码.mvvm重构.基础定义.节点管理器.自动节点注册表 import 节点模型匹配器, 注册节点模型


@注册节点模型(ast.Slice)
class 索引区域访问ast节点基础模型(ast节点基础模型):

    def 节点数据解析(self):
        pass

    def __init__(self, ast节点, 所属节点模型管理器, 上级节点=None, 节点位置=None):
        super().__init__(ast节点, 所属节点模型管理器,"索引区域", 节点位置=节点位置, 上级节点=上级节点)
        self.图形项 = 索引区域访问节点图形项(self)
        # 起始接口.添加接口到节点("数据流", "输出", 接口名称="数据输出", 必须连接=True)
        # 起始接口.添加接口到节点("数据流", "输入", 接口名称="数据输入", 必须连接=True)
        # 起始接口.起始索引值.添加接口到节点("数据流", "输出", 接口名称="数据输出", 必须连接=True)
        # 起始接口.结束索引值.添加接口到节点("数据流", "输出", 接口名称="数据输出", 必须连接=True)
        self.起始索引值 = 节点模型匹配器(self._ast节点.lower, self.所属节点模型管理器)
        结束接口 = self.添加接口到节点("数据流", "输入", 接口名称="起始位置", 必须连接=True)
        起始接口 = self.起始索引值.添加接口到节点("数据流", "输出", 接口名称="数据输出")
        起始接口.接口创建连接线模型(结束接口, self)
        self.结束索引值 = 节点模型匹配器(self._ast节点.upper, self.所属节点模型管理器)
        结束接口 = self.添加接口到节点("数据流", "输入", 接口名称="结束位置", 必须连接=True)
        #if 上级节点
        起始接口 = self.结束索引值.添加接口到节点("数据流", "输出", 接口名称="数据输出")
        起始接口.接口创建连接线模型(结束接口, self)



class 索引区域访问节点图形项(带布局的节点基础图形项):

    def __init__(self,节点定义, 父项=None):
        super().__init__( 节点定义, 父项)

        #起始接口.节点定义.节点介绍 = 起始接口.节点定义.节点名称+"：默认介绍"